package productidentification;

/**
 * Interface for different product identifiers to implement.
 * 
 * @author Paula Chen
 */
public interface IProductIdentifier
{

  /**
   * Identify a product
   * 
   * @param barcode
   *          the barcode of a product to identify
   * @return the description of the identified product
   * 
   * @throws Exception
   *           if a problem occurs while identifying the product
   */
  public String identifyProduct(String barcode) throws Exception;

  /**
   * Gets the name of this Product Identifier plugin
   */
  public String getName();

  /**
   * Gets the description of this Product Identifier plugin
   */
  public String getDescription();
}
